From: Keir Fraser Date: Thu, 2 Sep 2010 12:29:45 +0000 (+0100) Subject: Revert 5b03813d8d6e "Make uint64_aligned_t and GUEST_HANDLE_64 visible to guests." X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11547^2~4 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=9e24317d4e64d924d733b35f8dc8738fdc2241d3;p=xen.git Revert 5b03813d8d6e "Make uint64_aligned_t and GUEST_HANDLE_64 visible to guests." This introduced non-ANSI gcc-isms into the guest-visible sections of public headers. Not allowed after all. Signed-off-by: Keir Fraser --- diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h index 1f97587d53..7cb6a0179f 100644 --- a/xen/include/public/arch-x86/xen-x86_32.h +++ b/xen/include/public/arch-x86/xen-x86_32.h @@ -100,7 +100,8 @@ #define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START) #endif -/* 32-/64-bit invariability. */ +/* 32-/64-bit invariability for control interfaces (domctl/sysctl). */ +#if defined(__XEN__) || defined(__XEN_TOOLS__) #undef ___DEFINE_XEN_GUEST_HANDLE #define ___DEFINE_XEN_GUEST_HANDLE(name, type) \ typedef struct { type *p; } \ @@ -115,6 +116,7 @@ #define uint64_aligned_t uint64_t __attribute__((aligned(8))) #define __XEN_GUEST_HANDLE_64(name) __guest_handle_64_ ## name #define XEN_GUEST_HANDLE_64(name) __XEN_GUEST_HANDLE_64(name) +#endif #ifndef __ASSEMBLY__ diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h index bd80f0e766..6c783412cf 100644 --- a/xen/include/public/xen.h +++ b/xen/include/public/xen.h @@ -688,6 +688,9 @@ __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t); #endif /* !__ASSEMBLY__ */ +/* Default definitions for macros used by domctl/sysctl. */ +#if defined(__XEN__) || defined(__XEN_TOOLS__) + #ifndef uint64_aligned_t #define uint64_aligned_t uint64_t #endif @@ -695,13 +698,15 @@ __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t); #define XEN_GUEST_HANDLE_64(name) XEN_GUEST_HANDLE(name) #endif -#if (defined(__XEN__) || defined(__XEN_TOOLS__)) && !defined(__ASSEMBLY__) +#ifndef __ASSEMBLY__ struct xenctl_cpumap { XEN_GUEST_HANDLE_64(uint8) bitmap; uint32_t nr_cpus; }; #endif +#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */ + #endif /* __XEN_PUBLIC_XEN_H__ */ /*